ফাইল এবং ডিরেক্টরি তৈরি করা (file মডিউল)

Ansible এর file মডিউল ব্যবহার করে আপনি ফাইল এবং ডিরেক্টরি তৈরি, মুছা, পারমিশন সেট করা এবং লিঙ্ক তৈরি করার মতো কাজ করতে পারেন। এই মডিউলটি অত্যন্ত ফ্লেক্সিবল এবং এটি বিভিন্ন ফাইল বা ডিরেক্টরি সম্পর্কিত কাজ সম্পাদনের জন্য ব্যবহৃত হয়।

file মডিউলের মূল ব্যবহার

file মডিউলটি সাধারণত নিচের কাজগুলো করার জন্য ব্যবহৃত হয়:

  • ফাইল বা ডিরেক্টরি তৈরি করা।
  • ফাইল বা ডিরেক্টরি মুছে ফেলা।
  • পারমিশন, মালিকানা, এবং গ্রুপ সেট করা।
  • সিম্বলিক বা হার্ড লিঙ্ক তৈরি করা।

file মডিউলের সাধারণ সিনট্যাক্স

- name: File or directory management
  ansible.builtin.file:
    path: /path/to/file_or_directory
    state: touch / directory / absent / link / hard
    owner: username
    group: groupname
    mode: permissions

উদাহরণ: ফাইল এবং ডিরেক্টরি তৈরি করা

১. ফাইল তৈরি করা

---
- name: Create an empty file
  hosts: localhost
  tasks:
    - name: Create a file named example.txt
      ansible.builtin.file:
        path: /tmp/example.txt
        state: touch
        owner: ubuntu
        group: ubuntu
        mode: '0644'

ব্যাখ্যা:

  • path: ফাইলটির পূর্ণ পাথ উল্লেখ করা হয়েছে (এক্ষেত্রে /tmp/example.txt)।
  • state: touch: এটি একটি খালি ফাইল তৈরি করবে। যদি ফাইলটি আগে থেকে থাকে, তাহলে এটি কিছু করবে না।
  • owner এবং group: ফাইলের মালিক এবং গ্রুপ নির্ধারণ করা হয়েছে।
  • mode: ফাইলের পারমিশন সেট করা হয়েছে (এক্ষেত্রে '0644')।

২. ডিরেক্টরি তৈরি করা

---
- name: Create a directory
  hosts: localhost
  tasks:
    - name: Create a directory named /tmp/mydirectory
      ansible.builtin.file:
        path: /tmp/mydirectory
        state: directory
        owner: ubuntu
        group: ubuntu
        mode: '0755'

ব্যাখ্যা:

  • state: directory: এটি একটি ডিরেক্টরি তৈরি করবে। যদি ডিরেক্টরিটি আগে থেকে থাকে, তাহলে এটি কিছু করবে না।
  • মালিকানা এবং পারমিশনও এখানে নির্ধারণ করা হয়েছে।

৩. ফাইল বা ডিরেক্টরি মুছে ফেলা

---
- name: Remove a file or directory
  hosts: localhost
  tasks:
    - name: Remove example.txt file
      ansible.builtin.file:
        path: /tmp/example.txt
        state: absent

    - name: Remove /tmp/mydirectory directory
      ansible.builtin.file:
        path: /tmp/mydirectory
        state: absent

ব্যাখ্যা:

  • state: absent: এটি ফাইল বা ডিরেক্টরি মুছে ফেলবে। যদি ফাইল বা ডিরেক্টরি আগে থেকে না থাকে, তাহলে এটি কিছু করবে না।

৪. সিম্বলিক লিঙ্ক তৈরি করা

---
- name: Create a symbolic link
  hosts: localhost
  tasks:
    - name: Create a symlink from /tmp/symlink.txt to /tmp/example.txt
      ansible.builtin.file:
        src: /tmp/example.txt
        path: /tmp/symlink.txt
        state: link

ব্যাখ্যা:

  • src: লিঙ্কের উৎস ফাইল বা ডিরেক্টরি।
  • path: যেখানে লিঙ্কটি তৈরি করা হবে।
  • state: link: এটি একটি সিম্বলিক লিঙ্ক তৈরি করবে।

৫. ফাইল বা ডিরেক্টরির মালিকানা এবং পারমিশন পরিবর্তন করা

---
- name: Change ownership and permissions
  hosts: localhost
  tasks:
    - name: Change ownership and permissions of /tmp/example.txt
      ansible.builtin.file:
        path: /tmp/example.txt
        owner: ubuntu
        group: ubuntu
        mode: '0644'

ব্যাখ্যা:

  • owner এবং group: ফাইল বা ডিরেক্টরির মালিক এবং গ্রুপ পরিবর্তন করবে।
  • mode: পারমিশন সেট করবে।

file মডিউলের বিভিন্ন স্টেট অপশন

স্টেটবর্ণনা
touchএকটি খালি ফাইল তৈরি করবে বা ফাইলের টাইমস্ট্যাম্প আপডেট করবে।
directoryএকটি নতুন ডিরেক্টরি তৈরি করবে।
absentফাইল বা ডিরেক্টরি মুছে ফেলবে।
linkএকটি সিম্বলিক লিঙ্ক তৈরি করবে।
hardএকটি হার্ড লিঙ্ক তৈরি করবে।

সংক্ষেপে

Ansible এর file মডিউলটি ফাইল এবং ডিরেক্টরি ম্যানেজমেন্টের জন্য একটি শক্তিশালী এবং ফ্লেক্সিবল উপায় প্রদান করে। এর মাধ্যমে আপনি ফাইল এবং ডিরেক্টরি তৈরি, মুছা, পারমিশন ও মালিকানা সেট করতে পারেন। এটি আপনার প্লেবুককে আরও কার্যকর এবং কাস্টমাইজড করে তুলতে সাহায্য করে।

আরও দেখুন...

Promotion